/**
 * 数据库连接配置文件
 * 可以通过环境变量覆盖默认配置
 */

module.exports = {
    // 数据库连接配置
    database: {
        host: process.env.DB_HOST || '43.143.253.188',
        port: parseInt(process.env.DB_PORT) || 3306,
        user: process.env.DB_USER || 'nextjs',
        password: process.env.DB_PASSWORD || 'nextjs123',
        database: process.env.DB_NAME || 'nextjs',
        charset: 'utf8mb4',

        // 连接池配置
        connectionLimit: 10,
        acquireTimeout: 60000,
        timeout: 60000,
        reconnect: true
    },

    // 导出配置
    export: {
        // 输出目录
        outputDir: 'schemas',

        // 是否包含表数据统计
        includeTableStats: true,

        // 是否包含索引信息
        includeIndexes: true,

        // 是否包含外键信息
        includeForeignKeys: true,

        // 是否包含列注释
        includeColumnComments: true,

        // 输出文件编码
        encoding: 'utf8',

        // 是否生成汇总报告
        generateSummary: true
    },

    // 过滤配置
    filter: {
        // 要包含的表（正则表达式数组，空数组表示包含所有表）
        includeTables: [],

        // 要排除的表（正则表达式数组）
        excludeTables: [
            /^information_schema\./,
            /^performance_schema\./,
            /^mysql\./,
            /^sys\./
        ],

        // 要排除的表前缀
        excludePrefixes: [
            'temp_',
            'bak_',
            'backup_'
        ]
    }
};
